write better unit tests